package com.bm.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import lombok.Data;

/**
 * 
 * @TableName ejyy_property_fee_order_item
 */
@TableName(value ="ejyy_property_fee_order_item")
@Data
public class EjyyPropertyFeeOrderItem implements Serializable {
    /**
     * 
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 
     */
    private Long propertyFeeOrderId;

    /**
     * 
     */
    private Long buildingId;

    /**
     * 单位分
     */
    private Integer fee;

    /**
     * 
     */
    private Boolean refund;

    /**
     * 
     */
    private Long refundAt;

    /**
     * 
     */
    private String refundId;

    /**
     * 
     */
    private Long refundBy;

    /**
     * 
     */
    private Integer refundFee;

    /**
     * 
     */
    private Boolean refundStatus;

    /**
     * 
     */
    private Long refundApplyAt;

    /**
     * 
     */
    private String refundAccount;

    /**
     * 
     */
    private String refundRequestSource;

    /**
     * 
     */
    private String refundRecvAccout;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        EjyyPropertyFeeOrderItem other = (EjyyPropertyFeeOrderItem) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getPropertyFeeOrderId() == null ? other.getPropertyFeeOrderId() == null : this.getPropertyFeeOrderId().equals(other.getPropertyFeeOrderId()))
            && (this.getBuildingId() == null ? other.getBuildingId() == null : this.getBuildingId().equals(other.getBuildingId()))
            && (this.getFee() == null ? other.getFee() == null : this.getFee().equals(other.getFee()))
            && (this.getRefund() == null ? other.getRefund() == null : this.getRefund().equals(other.getRefund()))
            && (this.getRefundAt() == null ? other.getRefundAt() == null : this.getRefundAt().equals(other.getRefundAt()))
            && (this.getRefundId() == null ? other.getRefundId() == null : this.getRefundId().equals(other.getRefundId()))
            && (this.getRefundBy() == null ? other.getRefundBy() == null : this.getRefundBy().equals(other.getRefundBy()))
            && (this.getRefundFee() == null ? other.getRefundFee() == null : this.getRefundFee().equals(other.getRefundFee()))
            && (this.getRefundStatus() == null ? other.getRefundStatus() == null : this.getRefundStatus().equals(other.getRefundStatus()))
            && (this.getRefundApplyAt() == null ? other.getRefundApplyAt() == null : this.getRefundApplyAt().equals(other.getRefundApplyAt()))
            && (this.getRefundAccount() == null ? other.getRefundAccount() == null : this.getRefundAccount().equals(other.getRefundAccount()))
            && (this.getRefundRequestSource() == null ? other.getRefundRequestSource() == null : this.getRefundRequestSource().equals(other.getRefundRequestSource()))
            && (this.getRefundRecvAccout() == null ? other.getRefundRecvAccout() == null : this.getRefundRecvAccout().equals(other.getRefundRecvAccout()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getPropertyFeeOrderId() == null) ? 0 : getPropertyFeeOrderId().hashCode());
        result = prime * result + ((getBuildingId() == null) ? 0 : getBuildingId().hashCode());
        result = prime * result + ((getFee() == null) ? 0 : getFee().hashCode());
        result = prime * result + ((getRefund() == null) ? 0 : getRefund().hashCode());
        result = prime * result + ((getRefundAt() == null) ? 0 : getRefundAt().hashCode());
        result = prime * result + ((getRefundId() == null) ? 0 : getRefundId().hashCode());
        result = prime * result + ((getRefundBy() == null) ? 0 : getRefundBy().hashCode());
        result = prime * result + ((getRefundFee() == null) ? 0 : getRefundFee().hashCode());
        result = prime * result + ((getRefundStatus() == null) ? 0 : getRefundStatus().hashCode());
        result = prime * result + ((getRefundApplyAt() == null) ? 0 : getRefundApplyAt().hashCode());
        result = prime * result + ((getRefundAccount() == null) ? 0 : getRefundAccount().hashCode());
        result = prime * result + ((getRefundRequestSource() == null) ? 0 : getRefundRequestSource().hashCode());
        result = prime * result + ((getRefundRecvAccout() == null) ? 0 : getRefundRecvAccout().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", propertyFeeOrderId=").append(propertyFeeOrderId);
        sb.append(", buildingId=").append(buildingId);
        sb.append(", fee=").append(fee);
        sb.append(", refund=").append(refund);
        sb.append(", refundAt=").append(refundAt);
        sb.append(", refundId=").append(refundId);
        sb.append(", refundBy=").append(refundBy);
        sb.append(", refundFee=").append(refundFee);
        sb.append(", refundStatus=").append(refundStatus);
        sb.append(", refundApplyAt=").append(refundApplyAt);
        sb.append(", refundAccount=").append(refundAccount);
        sb.append(", refundRequestSource=").append(refundRequestSource);
        sb.append(", refundRecvAccout=").append(refundRecvAccout);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}